******************************************************************* GEMVIEW Lademodul 'ESC/P Emulator' von Christian 'Chrisker' Krger ******************************************************************* šbersicht: ---------- 1. Allgemeines 'Bla Bla' und Status (unbedingt lesen !!! Was ist Featureware ?) 2. Wozu ein 'ESC/P Emulator' ? 3. Bedienung und untersttzte Kommandos 4. History 5. Featureware Wunschliste und Kontaktadresse ------------------------------------------------------------------- 1. Allgemeines 'Bla Bla' und Status ----------------------------------- (sorry fr evt. Tippf„hler - es ist gerade 3.45 Uhr in der Frh und ich hab keine Lust irgendetwas zu korrigieren. (Nur ein schneller Hack - darum nachfolgend auch alles klein geschrieben - ich habe wichtigeres zu tun als die 'shift'-taste zu bet„tigen... (sorry - no time). wer lust hat sich diesem text 'anzunehmen', (korrektur, formatierung, bersetzung etc.) m”ge das bitte tun und mir ein exemplar zukommen/ absegnen lassen) --BLA BLA: Das programm wurde mit grožer sorgfalt entwickelt. fr vorhandene fehler im programm oder defekte ger„te die durch verwendung dieses programms entstehen bernehme ich aber keine haftung ! wer also seine 'Medusa' mit 20"-monitor und angeschlossendem 1200DPI farblaser in die luft jagt ist selber schuld (w„re auch zu bezeifeln, ob das mit dem modul berhaupt m”glich ist... ;-) ). --STATUS (wer noch nicht 'featureware' kennt bitte lesen !!!): Dieses lade-modul hat 'featureware' status. Nun, was ist 'feature- ware' ? Grundlegend ist zu sagen das dieses modul FREEWARE ist ! Das heižt es kann (und soll) kostenlos weitergegeben und verbreitet werden (aber nicht ber PD-versender oder „hnliches - ich m”chte dieses modul nicht ohne meine genehmigung auf irgendeiner PD-liste oder CD-ROM wiederentdecken !). Um den status dieses moduls aber noch etwas 'interessanter' zu machen, habe ich mir ein neues system einfallen lassen (eben featureware). Dieses lademodul gengt voll und ganz _meinen_ ansprchen. Das heižt aber nicht, daž die erwartungen oder ansprche anderer benutzer mit diesem modul befriedigt werden. Ich k”nnte jetzt einfach schreiben das dies hier 'nervt mich berhaupt nicht'-ware ist (grže an Mr. McLoud ;-) ), habe mir aber ein anderes konzept einfallen lassen (ja - ganz neu) welches dem programmierer (also mir) und dem rest der menschheit zu gute kommt (k”nnte auch user-fairware heižen... ). Aaaaallllsooo: am ende dieser 'dokumentation' befindet sich eine liste von m”glichen programmerweiterungen die noch nicht vorgenommen wurden. diese kann ich aber gerne gegen entgeld vornehmen(folglich: nervt mich nur gegen bares-ware). dabei handelt es sich f”rmlich um eine preisliste: welches feature kostet wieviel geld ? wurde ein feature durch bezahlung im modul integriert, wird das modul wieder der ”ffentlichkeit zug„nglich gemacht ! (man zahlt also eigentlich nicht nur fr sich sondern auch fr andere...). die vorteile liegen auf der hand: der programmierer arbeitet nicht ganz umsonst und es entsteht ein komplexeres programm welches wieder von allen genutzt werden kann. damit kommt ein bezahler in eine aehnliche 'wohltaeter' position wie der freeware-programmierer. dieser leistet ja auch 'selbstlos' anderen dienste... damit noch ein kleiner anreiz fr diese 'wohlt„ter' da ist (abgesehen davon das die das bezahlte, ins programm integrierte feature dann auf diskette zugeschickt bekommen), befindet sich dann in der programmbeschreibung das kapitel: 'M„zene und edele Spender', in dem sie namentlich (mit der funktion die sie 'gespendet' haben) erw„hnt werden (wer nicht erw„hnt werden will - auch kein problem...). noch eine anmerkung: gehen 'zeitgleich' bis zu drei zahlungen fr das gleiche feature bei mir ein, werden alle spender erw„hnt und ich kann mich ber das zus„tzliche geld freuen :-) (das muž man mir schon g”nnen...). sind es noch mehr, wird das 'berstehende' geld fr ein anderes feature (auswahl treffe ich) verwendet. schaden tut das den bezahlern nicht - sie erhalten die funktion fr die sie bezahlt haben auf jeden fall... (und tun noch ein gutes werk) natrlich kann man auch im freundeskreis rumgehen und sich als gruppe ein feature bestellen - geteilte last ist halbe last... (gibt aber trotzdem nur _eine_ diskette zurck und man sollte sich einen namen fr die gruppe ausdenken mit der sie in der liste erscheint). wer mir geld zukommen lassen will ohne sich ein feature zu wnschen - ok - habe auch da nix gegen. Ergibt sich ein „nderung im programm (bestellte f„higkeiten sind hin- zugekommen) wird das programm jeden monat 'refreshed' und verbreitet. soviel zum feature-ware konzept - die 'preisliste' folgt am ende des textes. 2. Wozu ein 'ESC/P Emulator' ? ------------------------------ Zun„chst mal was ESC/P berhaupt ist: soweit ich weiž ist ESC/P ein standart der von EPSON¿ ausging. es sind kommandos zu ansteuerung von (9)-nadeldruckern. diese werden von den sogenannten 'epson-kompatibelen' nadeldruckern verstanden. Wozu nun ein lademodul welches diese kommandos interpretiert ??? 9-nadeldrucker sind heutzutage nicht mehr ganz zeitgem„ž - sie sind laut, langsam und liefern oft eine unbefriedigende druckqualit„t. oft steht man aber vor dem problem (so wie ich ;-) ), daž man programme hat, die etwas „lter sind und z.B. nur das ansteuern von diesen druckern vorsehen. normalerweise k”nnte man diese mit einem moderneren drucker nicht verwenden und mžte auf das programm verzichten. wenn man aber in der lage ist, die druckerausgabe in eine datei zu lenken ist man schon (zusammen mit dem ESC/P Emulator) auf der 'gewinnerseite'. (wird die druckumlenkung in eine datei nicht direkt von programm untersttzt, besteht immernoch die m”glichkeit dieses mit einem der zahlreichen 'utility-programme' (wie z.B. SPOOL) zu erreichen.) die vorhandene druckdatei wird von dem ESC/P Emulator ausgewertet und es wird ein Bild erzeugt welches der Druckerausgabe entspricht. Dieses kann nun beliebig weiterverarbeitet werden. Z.B. kann man das Bild mit Gemview direkt auf seinem laser-, tintenstrahl-, thermodrucker ausgeben. Oder man modifiziert die ausgabe mit grafikprogrammen oder bindet das 'bild' in ein anderes dokument einer textverarbeitung ein etc....... konkret wurde dieses modul fr das zusammenspiel mit dem '800XL-DJ' entwickelt. dieses progamm erm”glicht einem es, auf den 16/32 bit atari's die laufwerke und drucker der 8-bit rechner zu simmulieren. so kann z.B. auch hier die druckausgabe des 800XL in eine datei auf dem ST/TT/Falcon etc. umgelenkt werden. diese kann man nun mit gemview und dem ESC/P Emulator laden. daher auch die emulation von 'ESC/P'. Diese druckeransteuerung ist in 99% der XL-programme zu finden. modernere drucker werden so gut wie gar nicht untersttzt (wenn man viel glck hat: 24-nadler...). mit hilfe des emulators kann man nun z.B. Print-Shop in zusammenhang mit seinem tintenstahler weiterverwenden !!! eine weitere (wenn wenn auch wahrscheinlich seltenere anwendung) des emulators ist, wenn man (als besonderen effekt) die qualit„t (dieses schwache, grob gepunktete, graue aussehen) eines 9-nadlers braucht (ja denn fall hatte ich wirklich mal neulich...). einfach den text mit dem emulator laden... (ja - der emulator 'druckt' auch draft buch- staben die ziemlich gut auf lasern etc. 'rberkommen'). ich habe so einen ausdruck (vom tintenstrahler) jemanden mal gezeigt und der wollte mit nicht glauben, das das ding nicht mit einem nadeldrucker gedruckt worden war... 3. Bedienung und untersttzte Kommandos --------------------------------------- Zur bedienung l„žt sich eigentlich nicht viel sagen - da es sich ja um ein Gemview-modul handelt. Wichtig ist nur, daž ESC/P files nicht !!! identifiziert werden k”nnen. daher hat AUTO-flag des moduls ausge- schaltet zu bleiben ! man kann also ESC/P files nur laden, wenn man dieses ber die funktion 'Load Type...' macht. Dann legt der emulator los. Grundlage ist dabei immer das er”ffnen einer kompletten seite der ausmaže 8x12 zoll. Dieses format ist praktikabel, da es die breite und etwas mehr als die h”he einer DIN A4 seite hat. viele amerikanische programme (wir erinnern uns: atari XL druckprogramme...) brauchen aber 12" papier. Daher diese gr”že. Da 9-nadler normalerweise eine max. druckdichte von 240x216 DPI haben, wird fr diese seite ca. 660kB ben”tigt ! Fr benutzer von 512k ST's kommt das modul folglich nicht in frage. Ob der speicher bei 1MB besitzern reicht, wage ich mal zu bezeifeln... (Gemview haut ja auch ganz sch”n was weg...) Nun haben die pixel des bildschirms 'leider' kein seitenverh„ltnis von 1.111111111111111..... Der emulator umgeht das problem in dem er dieses ignoriert und einfach das verh„ltnis 1 benutzt. Folglich sind die darstellungen etwas verzerrt. Wer das nicht haben will, kann nach der interpretation des files ja aber die grafik mit 100% x und 111% y skalieren (Gemview macht's m”glich). Wer anschliežend seinen 600 DPI drucker anschmeižt und das ding im gleichen verh„ltnis wie auf dem nadler ausgeben will, kommt um die skalierung sowieso nicht drumrum (wir rechnen: bild hat 240x216 DPI - drucker hat 600 -> skalierung mit 250 und 278% - fragt sich nur ob der speicher dafr reicht...). Jeder gesetzte punkt im bild entspricht dem abdruck einer drucker- nadel. Ich schreibe das hier nochmal explizit, da ich sonst befrchte meldungen von fehlern zu bekommen, die keine sind ! Viele programme oder auch die draft-zeichen des druckers nutzen _nicht_ die 240x216 DPI aus. So haben z.B. draftzeichen normalerweise einen vertikalen punktabstand von 72 DPI. Auf dem bild sieht das folglich so aus, daž nur jede dritte zeile einen punkt von einem zeichen aufnimmt. Dies ist kein fehler des emulators ! 9-nadler haben nun mal so einen grožen punktabstand. Ein spezielles Gemview-bearbeitungsmodul zum anpassen der punkte an die reale aufl”sung kann aber als feature 'geordert' werden. n”tig kann dieses zum teil werden da die 240x216 DPI im regelfall nicht von 9-nadlern real erreicht werden. die druckerpunkte 'matschen' leicht zusammen und berlagern sich teilweise. Dieses verhalten kann selbstverst„ndlich nicht ohne weiteres nachgebildet werden. das ist der grund, warum bilder, die mit dem esc/p emulator erzeugt wurden, auf anderen druckern ausgedruckt, meist etwas blasser erscheinen als ein realer 9-nadeldruck (so als h„tte man ein etwas 'ausgelutschtes' farbband). Soweit die 'druck auf image' theorie. Nun was praktisches: Untersttzte kommandos des ESC/P Emulators V. 1.00: ==================================================== Grafikdruck in allen arten ! Dabei wird (aus techn. grnden) der (selten benutzte) modus mit 576 und 720 punkten pro zeile nicht korrekt verarbeitet. s„mtlich zeilenvor- und rckschub-kommandos bis auf kommandos die mit - vertikalen tabulatoren oder - absoluten positionen (z.B. auch blattanfang etc.) arbeiten. rechte und linke randbegrenzung unterstzung der draft-schriftarten PICA (80 zeichen pro zeile) und ELITE (96 zeichen pro zeile). im modul sind sie in der deutschen belegung enthalten ! (also statt [\]{|}~ => A™ša”ž !) es wird der zeichensatzraum von 32 bis 127 untersttzt. eine sonderstellung nimmt ASCII 155 ein. dieses wird nicht als zeichen interpretiert (ist aber auch nicht weiter tragisch - wer braucht schon das '›'-zeichen), sondern „quivalent zu LF/CR be- handelt, da dieses zeichen auf den atari XL's 'end of line' (EOL) bedeutet. wichtig ist nur noch, daž ein LF (zeilenvorschub) ausreicht um einen zeilenvorschub _und_ wagenrcklauf zu erhalten - enth„lt der text trotzdem noch einen wagenrcklauf (CR/LF), so wird die funktion nicht negativ beeintr„chtigt. verarbeitung von schmalschrift (condensed) und breitschrift (enlarged) untersteichungen alle kommandos k”nnen natrlich sinnvoll kombiniert werden ! (wer es nicht weiž: dazu geh”rt auch breit-schmal-schrift !) die funktionscodes sind so wie im druckerhandbuch des 'star¿ LC-10' beschrieben umgesetzt. wurde die interpretation der druckdaten beendet (dateiende oder seite voll), so wird die anzahl der nicht ausgewerteten bytes der datei bis zum erreichen des seitenendes angezeigt. wem dieser wert zu hoch ist -> feature bestellen... --------------------------------------------------------------------------- ######### 4. HISTORY ######## 1.00 - Erste ver”ffentliche version - mal sehen was fr funktionen noch gewnscht werden... --------------------------------------------------------------------------- 5. Featureware Wunschliste und Kontaktadresse --------------------------------------------- Erkl„rung: * = 10 DM => *** = 30 DM Funktion: | Preis: ======================================================================= Superscript & Subsript | *** -------------------------------------------------------------+--------- Fettdruck & Schattendruck | ** -------------------------------------------------------------+--------- Zeichensatz„nderung (angepasstes Modul) fr USA & GB | ** -------------------------------------------------------------+--------- " " " fr FR & ITAL | ** -------------------------------------------------------------+--------- " " " fr ESP 1 & 2 | ** -------------------------------------------------------------+--------- " " " fr DEN 1 & 2 | ** -------------------------------------------------------------+--------- Horizontal Tabulatoren und horizontale absolut Positionierung| ** -------------------------------------------------------------+--------- Download von Draftzeichens„tzen | ***** -------------------------------------------------------------+--------- Mehrseitenverwaltung, vertikale Tabulatoren etc. | ******* -------------------------------------------------------------+--------- Kursivdruck | **** -------------------------------------------------------------+--------- korrekte Untersttz. von 576 und 720 Grafikpunkten pro Zeile | ** -------------------------------------------------------------+--------- šberstreichen | ** -------------------------------------------------------------+--------- Bearbeitungsmodul: Punktverdickung und Interpolation | *** -------------------------------------------------------------+--------- wer weitere/nicht in der liste vorkommende features umgesetzt haben will (vorausgesetzt sie haben was mit dem modul und seiner aufgabe zu tun), kein problem - ich ”ffne horizonte ;-) - reden sie darber... garantiert umsetzen werde ich _nicht_ NLQ-zeichens„tze oder farbdruck (es sei denn jemand gibt mir jeweils dafr: **************************************************************************** viel spass beim z„hlen...) scheine oder schecks mit den feature-wnschen gehen an: Christian Krger Im Erpelgrund 16 13503 Berlin sonst (bei fragen, bug-reports o.„.) am besten bers internet kontaktieren: chrisker@cs.tu-berlin.de viel freude beim pseudo drucken !